Observably Deterministic Concurrent Strategies and Intensional Full Abstraction for Parallel-or
نویسندگان
چکیده
Although Plotkin’s parallel-or is inherently deterministic, it has a non-deterministic interpretation in games based on (prime) event structures – in which an event has a unique causal history – because they do not directly support disjunctive causality. General event structures can express disjunctive causality and have a more permissive notion of determinism, but do not support hiding. We show that (structures equivalent to) deterministic general event structures do support hiding, and construct a new category of games based on them with a deterministic interpretation of aPCFpor, an affine variant of PCF extended with parallel-or. We then exploit this deterministic interpretation to give a relaxed notion of determinism (observable determinism) on the plain event structures model. Putting this together with our previously introduced concurrent notions of well-bracketing and innocence, we obtain an intensionally fully abstract model of aPCFpor. 1998 ACM Subject Classification F.3.2 Semantics of Programming Languages
منابع مشابه
Report on project GR/S72191/02 Extensional semantics of program behaviour
Game semantics is a way of characterizing programming languages and logical calculi intensionally by interpreting proofs or programs as strategies for interacting with the environment; this process of interaction can be thought of as playing a two-person game. Games can capture precisely the behaviour of higher-order programs in sequential languages, in a fashion which is very difficult or impo...
متن کاملThe VerCors Tool Set: Verification of Parallel and Concurrent Software
models are process algebra terms Wytse Oortwijn, UTwente Verifying Concurrent Software 25 / 30 Introduction Deterministic Parallelism GPU Kernels Model Abstractions Conclusion Our approach: deducative + algorithmic verification requires Process(P); ensures Process(ε); void main(args) { S1 ‖ S2; } Process algebras abstraction Algorithmic analysis input Temporal properties LTL, CTL, etc. input De...
متن کاملFlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction
Implementing correct and deterministic parallel programs is challenging. Even though concurrency constructs exist in popular programming languages to facilitate the task of deterministic parallel programming, they are often too low level, or do not compose well due to underlying blocking mechanisms. In this paper, we present the design and implementation of a fundamental data structure for comp...
متن کاملA Formal Treatment of Non-Deterministic Dataflow Streams in Intensional Logic Programming∗
Intensional logic programming is an alternative to concurrent logic programming languages which employ infinitary data structures such as streams to specify non-terminating computations. Wadge has proposed a logical extension to intensional logic programming, i.e., choice predicates, though which dataflow-style computations can be naturally expressed. This paper discusses the model-theoretical ...
متن کاملFrom Strategies to Profunctors
A lax functor from a bicategory of very general nondeterministic concurrent strategies on concurrent games to the bicategory of profunctors is presented. The lax functor provides a fundamental connection between two approaches to generalizations of domain theory to forms of intensional domain theories, one based on game and strategies, and the other on presheaf categories and profunctors. The l...
متن کامل